/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _FORCE_SPLIT_HUGE_PAGE_H
#define _FORCE_SPLIT_HUGE_PAGE_H

#ifdef CONFIG_EULEROS_FORCE_SPLIT_HUGE_PAGE

#include <linux/mm_types.h>

extern unsigned long force_split_hugepage_deferred_split_scan(struct shrinker *shrink,
		struct shrink_control *sc);

extern void force_split_transparent_hugepage(struct page *tmp_page);

extern struct page* force_split_page_compound(struct page *page);

#else /* !CONFIG_EULEROS_FORCE_SPLIT_HUGE_PAGE */

static inline void force_split_transparent_hugepage(struct page *tmp_page) {}

static inline struct page* force_split_page_compound(struct page *page)
{
	return NULL;
}
#endif

#endif